#ifndef V_NAV_ROAD_H
#define V_NAV_ROAD_H

#include <vector>
#include "implementations/Lane.h"
#include "implementations/RoadBlock.h"

namespace vnav
{
	class Road
	{
	public:
		typedef std::vector<Lane*> Lanes;
		typedef std::vector<RoadBlock*> RoadBlocks;

		Road();
		Road(const Road& other);
		Road& operator=(const Road& other);
		~Road();

		vnav::Road::Lanes getLanes() const;
		void setLanes(vnav::Road::Lanes val);
		void addLanes(Lane* val);

		Road::RoadBlocks getRoadBlocks() const;
		void setRoadBlocks(Road::RoadBlocks val);
		void addRoadBlock(RoadBlock* val);
	private:
		Lanes m_lanes;
		RoadBlocks m_RoadBlocks;
	};
}
#endif